package com.chatmcp.mcprouter.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 项目实体类
 * 存储项目和服务器的关联信息
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Project implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 项目ID
     */
    private String projectId;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 项目描述
     */
    private String projectDescription;

    /**
     * 项目所有者ID
     */
    private String ownerId;

    /**
     * 项目所有者名称
     */
    private String ownerName;

    /**
     * 服务器UUID
     */
    private String serverUuid;

    /**
     * 服务器键名
     */
    private String serverKey;

    /**
     * 服务器名称
     */
    private String serverName;

    /**
     * 服务器版本
     */
    private String serverVersion;

    /**
     * 服务器配置
     */
    private String serverConfig;

    /**
     * 服务类型
     */
    private String serviceType;

    /**
     * 启用状态
     */
    private Boolean enabled;

    /**
     * 到期时间
     */
    private LocalDateTime expiresAt;

    /**
     * 服务创建时间
     */
    private LocalDateTime serviceCreatedAt;

    /**
     * 最后使用时间
     */
    private LocalDateTime lastUsedAt;

    /**
     * 额外数据
     */
    private String extraData;
    
    /**
     * 创建时间
     */
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    private LocalDateTime updatedAt;
} 